//面向对象中，将下面对一个对象的所有成员的定义（包括原型上的方法的定义），统称为类
//类是面向对象的世界里的一个产物，不是js私有的


//构造函数，又叫构造器
function Animal(type, name, age, sex) {
    this.type = type;
    this.name = name;
    this.age = age;
    this.sex = sex;
}

//定义实例方法（原型方法）
Animal.prototype.print = function () {
    console.log(`【种类】：${this.type}`);
    console.log(`【名字】：${this.name}`);
    console.log(`【年龄】：${this.age}`);
    console.log(`【性别】：${this.sex}`);
}

const a = new Animal("狗", "旺财", 3, "男");
console.log(a);
a.print();

for (const prop in a) {
    console.log(prop); // 会遍历原型上的属性print，以前具体分析过，哪些会被遍历
}